Data striping distributes data segments of a file sequentially on different physical storage devices, which enables the segments to be fetched concurrently to efficiently synthesize the file. However, data striping is vulnerable to reliability problems due to possible failure of a storage device on which one of the segments is stored. Data striping provides higher performance since data is read from multiple drives simultaneously. However, data striping is implemented with expensive technologies such as RAID, parallel file systems, etc.
An alternate method of storing the data has emerged in which multiple copies of the data are stored on different computers and drives. This alternate method provides reliability by keeping multiple copies of the data, but does not provide higher read performance since the data is always read from a single drive.
There is a need for efficient retrieval of the segments of a file without the existing problems of the prior art.